// 二次封装
import axios from "axios";

// 引入nprogress
import nprogress from "nprogress"
import "nprogress/nprogress.css"

// 导入 uuid 所在的仓库
import uuid_token from '@/store/home/index.js'
import store from '@/store/store.js'

// 利用 create 方法创建实例
const request = axios.create({
  // 基础路径
  baseURL: "/api/",
  // 请求超时
  timeout: 5000,
})

// 请求拦截器
request.interceptors.request.use((config) => {
  // 如果为空的字符串即为 false,不会执行,这是判断用户身份 uuid
  if (store.state.home.uuid_token) {
    config.headers.userTempId = uuid_token.state.uuid_token
  }
  if (store.state.register.token) {
    // config.headers.token = store.state.register.token
    config.headers.token = localStorage.getItem('TOKEN')
  }
  // 使用
  nprogress.start()
  // config 对象里最重要的是 headers 请求头
  return config
})

request.interceptors.response.use((res) => {
  // 使用
  nprogress.done()
  // 成功的回调函数
  return res.data
});

// , (err) => {
//   // 响应失败的回调函数
//   return Promise.reject(new Error(err))
// }
// request.interceptors.response.use((res)=>{},(err)=>{})

export default request;
